package com.itheima.api.treeset.demo02;

/**
 *  就是使用TreeSet集合对象存储元素的时候，如果我们使用的是自然排序，那么就要求我们这个元素必须去实现Comparable这个接口
 */
public class Student implements Comparable<Student> {

    private String name ;

    private int age ;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    @Override
    public int compareTo(Student o) {

        // 按照年龄的从小到大进行排序
        // 要进行年龄的比较，那么就需要两个对象，此时有没有两个对象
        // 有 。 this ， 传递过来的参数o
        int result = this.age - o.age ;

        /**
         * 两个对象的年龄是相同的，也不能说明是同一个对象，因此当年龄相同的时候，我们需要比较姓名
         * 年龄是主要条件，姓名就是次要条件
         */
        int result2 = result == 0 ? this.name.compareTo(o.name) : result ;

        // 返回
        return result2;
    }

}
